//! Some config values and const values..

/// Max align supported.
pub const MAX_SUPPORTED_ALIGN: usize = 4096;

/// Max size in an alloc.
pub const SIZE_MAX: usize = usize::MAX;

/// Maximum number of size classes. (spaced exponentially in 12.5% increments).
pub const BIN_HUGE: usize = 73;

pub const BIN_FULL: usize = BIN_HUGE + 1;

/// Shift of word. 8 Byte (64bit).
pub const WORD_SHIFT: usize = 3;

/// 64 KB.
pub const SMALL_PAGE_SHIFT: usize = 13 + WORD_SHIFT;

/// 512 KB.
pub const MEDIUM_PAGE_SHIFT: usize = 3 + SMALL_PAGE_SHIFT;

/// 4 MB.
pub const LARGE_PAGE_SHIFT: usize = 3 + MEDIUM_PAGE_SHIFT;

/// Must equal to `LARGE_PAGE_SHIFT`.
pub const SEGMENT_SHIFT: usize = LARGE_PAGE_SHIFT;

/// Alloc size < `SMALL_WSIZE_MAX` (1 KB) could be optimized by `pages_direct`.
pub const SMALL_WSIZE_MAX: usize = 128;
